From: awilliam@xenbuild.aw Date: Wed, 12 Jul 2006 19:26:09 +0000 (-0600) Subject: [IA64] do not purge vhpt when emulation itr X-Git-Tag: archive/raspbian/4.8.0-1+rpi1~1^2~15786^2~27 X-Git-Url: https://dgit.raspbian.org/%22http://www.example.com/cgi/success//%22http:/www.example.com/cgi/success/?a=commitdiff_plain;h=d0315d35cc7218dde0ae6a19978403f2acbfda78;p=xen.git [IA64] do not purge vhpt when emulation itr It's safe for linux not to purge vhpt when emulating itr, otherwise there is considerable performance loss Signed-off-by: Isaku Yamahata Signed-off-by: Zhang xiantao Signed-off-by: Anthony Xu --- diff --git a/xen/arch/ia64/xen/vcpu.c b/xen/arch/ia64/xen/vcpu.c index dcf7eed24a..c3d0fe2543 100644 --- a/xen/arch/ia64/xen/vcpu.c +++ b/xen/arch/ia64/xen/vcpu.c @@ -1923,7 +1923,14 @@ IA64FAULT vcpu_itr_d(VCPU *vcpu, UINT64 slot, UINT64 pte, vcpu_set_tr_entry(trp,pte,itir,ifa); vcpu_quick_region_set(PSCBX(vcpu,dtr_regions),ifa); - vcpu_flush_tlb_vhpt_range(ifa & itir_mask(itir), itir_ps(itir)); + /* + * FIXME According to spec, vhpt should be purged, but this + * incurs considerable performance loss, since it is safe for + * linux not to purge vhpt, vhpt purge is disabled until a + * feasible way is found. + * + * vcpu_flush_tlb_vhpt_range(ifa & itir_mask(itir), itir_ps(itir)); + */ return IA64_NO_FAULT; } @@ -1942,7 +1949,14 @@ IA64FAULT vcpu_itr_i(VCPU *vcpu, UINT64 slot, UINT64 pte, vcpu_set_tr_entry(trp,pte,itir,ifa); vcpu_quick_region_set(PSCBX(vcpu,itr_regions),ifa); - vcpu_flush_tlb_vhpt_range(ifa & itir_mask(itir), itir_ps(itir)); + /* + * FIXME According to spec, vhpt should be purged, but this + * incurs considerable performance loss, since it is safe for + * linux not to purge vhpt, vhpt purge is disabled until a + * feasible way is found. + * + * vcpu_flush_tlb_vhpt_range(ifa & itir_mask(itir), itir_ps(itir)); + */ return IA64_NO_FAULT; }